I don't think compact will cause recompilation. Should it, it's not supposed to fix your weird problem.
As to the org unit, if my understanding is correct, you could calculate the value for an user and do something based it. Theoretically, it can be indirectly calculated via DirectoryUser.getFullName(), using @Name formula, or writing a js function taking advantage of NotesName.OrgUnit1.
As I've met strange problems while using DirectoryUser.getXXXName(), I really doubt the credibility of this part of API.